RunTime Debugger

Einfⁿhrung

Der PureBasic Runtime-Debugger ist ein externes Programm, welches die Ausfⁿhrung eines Programms kontrolliert. Er kontrolliert und ⁿberwacht in Echtzeit alle - den Funktionen ⁿbergegebene - Parameter, verhindert verbotene Operationen (wie Division durch Null) und mehr. Mit PureBasic kann die Programmausfⁿhrung angehalten und Schritt fⁿr Schritt analysiert werden, um alle Fehler aufzuspⁿren; und sie kann zu jeder Zeit unterbrochen werden! Dies kann sehr nⁿtzlich sein, wenn ein Programm in eine Endlosschleife verfΣllt. Und noch mehr, er erlaubt auch das ▄berwachen (Monitoring) von beliebigen Variablen und sogar ASM Registern, wenn 'Inline ASM Unterstⁿtzung einschalten' im Compiler-Optionen-Menⁿ aktiviert ist.

Funktionen

Stop

Dies stoppt die Ausfⁿhrung und zeigt die aktuelle Position im Programmcode an.

Cont

Dies setzt ein zuvor angehaltenes Programm fort.

Step

Dieser Schalter erm÷glicht den Code nach und nach abzuarbeiten, d.h. Zeile fⁿr Zeile. Dies ist sehr nⁿtzlich, um Fehler aufzuspⁿren.

Asm

Zeigt ein ASM Monitoring Fenster mit allen CPU-Registern und CPU-Flags. Dies ist nur fⁿr erfahrene Programmierer, welche die ASM Sprache bereits kennen. Die 'Inline ASM Unterstⁿtzung einschalten' Option im Compiler-Menⁿ muss aktiviert sein und der Debugger muss angehalten (mit STOP oder STEP) worden sein, um Zugriff auf dieses Fenster zu erhalten. Dieser Monitor ist nur nⁿtzlich beim Betrachten von Inline ASM, nicht bei normalem Basic Code. Ein cooles Feature ist die M÷glichkeit, den Wert eines beliebigen Registers nach Drⁿcken des Schalters 'Schreibe neuen Wert' verΣndern zu k÷nnen.

Zeige Variablen

Zeigt ein Fenster, welches jede im Programm benutzte globale Variable anzeigt. Der Variablen Inhalt wird in Echtzeit aktualisiert, um einfach dem Programmablauf folgen zu k÷nnen.

Zeige Ausgabe-Fenster

Zeigt ein Fenster, welches die Ausgabe des 'Debug' Befehls darstellt.

Exit

Dies beendet den Debugger, den Compiler, und jedes Programm im Falle von Problemen oder wenn eine "Endlosschleife" auf keinem anderen Weg gestoppt werden kann.

Die Debugger Schlⁿsselw÷rter in PureBasic

CallDebugger

Dies ruft den "Debugger" auf und hΣlt sofort die Programmausfⁿhrung an.

Debug <Ausdruck> [, DebugLevel]

Zeigt das DebugOutput Fenster und darin das Ergebnis. Der Ausdruck kann jeder gⁿltige PureBasic Ausdruck sein, von numerisch bis zu einem String. Ein wichtiger Punkt ist, dass der Debug Befehl und sein zugeh÷riger Ausdruck total ignoriert (nicht kompiliert) werden, wenn der Debugger deaktiviert ist. Dies bedeutet, dass dieser Befehl benutzt werden kann, um einfach den Programmablauf zu verfolgen ("tracen"), ohne beim Erstellen des endgⁿltigen Executable die Debug-Befehle auskommentieren zu mⁿssen.

Der 'DebugLevel' ist die PrioritΣtsstufe der Debug-Mitteilung. Alle normalen Debug-Mitteilungen (ohne angegebenen DebugLevel) werden automatisch angezeigt. Wenn ein Level angegeben wurde, dann wird die Mitteilung nur angezeigt, wenn der aktuelle DebugLevel (definiert mit dem nachfolgenden 'DebugLevel' Befehl) gleich oder h÷her als dieser Wert ist. Dies erm÷glicht einen hierarchischen Debug-Modus, indem mehr und mehr prΣzisere Informationen in AbhΣngigkeit vom benutzten DebugLevel angezeigt werden.

DebugLevel

Legt den aktuellen DebugLevel fⁿr die 'Debug' Mitteilung fest.

DisableDebugger

Dies schaltet die Debugger-Prⁿfroutinen bei nach diesem Befehl folgenden Sourcecode aus.

EnableDebugger

Dies schaltet die Debugger-Prⁿfroutinen bei nach diesem Befehl folgenden Sourcecode ein (wenn der Debugger vorher mittels DisableDebugger ausgeschalten wurde).